package com.dlyk.service;

import com.dlyk.model.User;
import com.dlyk.query.UserQuery;
import com.github.pagehelper.PageInfo;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

public interface UserService extends UserDetailsService {

    PageInfo<User> getUserListByPage(Integer current);

    User getUserDetailById(Integer id);

    int saveUser(UserQuery userQuery, Authentication authentication);

    int editUser(UserQuery userQuery, Authentication authentication);

    int removeUserById(Integer id);

    int batchRemoveUserByIds(List<String> ids);

    List<User> getOwnerList();

    List<User> getAllLegitimateUser();

    boolean checkOldPwd(String oldPwd);

    int editUserLoginPwd(String newPwd);

    PageInfo<User> getUserListByRoleId(Integer roleId, Integer current);

    List<User> getNotOwnedRoleUserList();
}

